1. Technical Field
This invention is related to the field of processor implementation, and more particularly to the implementation and testing of register files.
2. Description of the Related Art
Computing systems may include one or more systems on a chip (SoC), which may integrate a number of different functions, such as, graphics processing, and memories onto a single integrated circuit. With numerous functions included in a single integrated circuit, chip count may be kept low in mobile computing systems, such as tablets, for example, which may result in a smaller form factor for such mobile computing systems.
SoCs typically include a number of data storage blocks of various storage capacities. Typically, large data storage blocks may be implemented as static random access memories (SRAMs) or dynamic random access memories (DRAMs). In some cases, smaller data storage blocks may be implemented as register files, whose data storage cells may be implemented according to one of various design styles.
During the semiconductor manufacturing process, variations in lithography, transistor dopant levels, etc., may result in different electrical characteristics between data storage cells that are intended to have identical characteristics. Additional variation in electrical characteristics may occur due to aging effects within the transistors as the device is repeatedly operated. These differences in electrical characteristics between transistors can result in data storage cells, such as those used in implementing register files, requiring different amounts to time to store data into the cells.
In some cases, the variation within data storage cells, as well as changes in power supply voltage, may result in a processor or SoC not being able to store data into a data storage cell within a pre-determined clock cycle period. Such data storage cells may be identified as failures during testing and may require re-design in order to achieve manufacturing yield goals.